package com.szp.lagou.oss.fastdfs;

import java.io.IOException;

import org.csource.common.MyException;
import org.csource.fastdfs.*;

public class Demo {
    public void testUpload() throws IOException, MyException {
        //加载配置文件，配置文件中的内容就是 tracker 服务的地址
        ClientGlobal.init("fdfs_client.conf");
        //创建一个 TrackerClient 对象。直接 new 一个
        TrackerClient trackerClient = new TrackerClient();
        //使用 TrackerClient 对象创建连接，获得一个 TrackerServer 对象。
        TrackerServer trackerServer = trackerClient.getTrackerServer();
        //创建一个 StorageServer 的引用，值为 null
        StorageServer storageServer = null;
        //创建一个 StorageClient 对象，需要两个参数 TrackerServer 对象、StorageServer 的引用
        StorageClient storageClient = new StorageClient(trackerServer, storageServer);
        //使用 StorageClient 对象上传图片。
        //扩展名不带“.”
        String[] strings = storageClient.upload_file("/Users/zm/Desktop/1.png", "png", null);
        //遍历数组打印包含组名和图片的路径。
        for (String string : strings) {
            System.out.println(string);
        }
    }

    public void testDownload() throws IOException, MyException {
        //加载配置文件，配置文件中的内容就是 tracker 服务的地址
        ClientGlobal.init("fdfs_client.conf");
        //创建一个 TrackerClient 对象。直接 new 一个
        TrackerClient trackerClient = new TrackerClient();
        //使用 TrackerClient 对象创建连接，获得一个 TrackerServer 对象。
        TrackerServer trackerServer = trackerClient.getTrackerServer();
        //创建一个 StorageServer 的引用，值为 null
        StorageServer storageServer = null;
        //创建一个 StorageClient 对象，需要两个参数 TrackerServer 对象、StorageServer 的引用
        StorageClient storageClient = new StorageClient(trackerServer, storageServer);
        //使用 StorageClient 对象上传图片。
        //扩展名不带“.”
        String[] strings = storageClient.upload_file("/Users/zm/Desktop/1.png", "png", null);
        //遍历数组打印包含组名和图片的路径。
        for (String string : strings) {
            System.out.println(string);
        }
    }

    public static void main(String[] args) throws Exception {
        Demo demo = new Demo();
        demo.testUpload();
        demo.testDownload();
    }
}
